﻿using App.Model.MoBanModel;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace App.Interface
{

    public interface IMoBan : IDependency
    {
        void AddMoBan(string str);
        void AddJiXiaoMoBan(string str);
        string GetGZJHList();
        string GetJXList();
        void DelGZJH(int mbid);
        void DelJX(int mbid);
        string GetMoBanKaoHeFanWei(int nrid,string username);
        string GetGZJHInfo(int mbid);
        void AddKaoHeFanWei(int nrid, int zwid, string v);
        void DelKaoHeFanWei(int nrid, string zwids, string v);
        string GetJXInfo(int mbid);
        void CreateKaoHeBiao(int ksid, string username,string datetimes);
        void ReviewKaoHeBiao(int ksid, string v);
        void AddKaoHeFanWeiRenYuan(int nrid, string ry, string username);
        string GetMoBanKaoHeFanWeiRenYuan(int nrid, string username);
        string GetMoBanList();
        string GetSearchMoBanList(string keyword);
        string GetControlList();
        string GetMoBanType();
        void SaveMoBan_Main(MoBan_Main mb,string userid);
        void DelMoBan(int mbid);
        string GetExceptMySelfMoBan(int mbid, string keyword);
        int PathAdd(MoBan_Path model, int mbid);
        void PathUpdate(MoBan_Path model, int mbid);
        void ContentUpdate(MoBan_Content model, int mbid, int ljid);
        int ContentAdd(MoBan_Content model, int mbid, int ljid);
        void AnswerUpdate(MoBan_Answer model, int mbid, int ljid, int nrid);
        int AnswerAdd(MoBan_Answer model, int mbid, int ljid, int nrid);
        void PathDel(int mbid, int ljid);
        void ContentDel(int mbid, int ljid, int nrid);
        void AnswerDel(int mbid, int ljid, int nrid, int answerid);

        #region 考核范围
        /// <summary>
        /// 获取考核范围集
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        string GetKaoHeFanWeis(string name);
        /// <summary>
        /// 获取考核范围详细信息
        /// </summary>
        /// <param name="khfwryid"></param>
        /// <returns></returns>
        string GetKaoHeFanWei(int khfwryid);
        /// <summary>
        /// 添加考核范围
        /// </summary>
        /// <param name="userinfoid">考核人id</param>
        /// <returns></returns>
        int AddKaoHeFanWei(string userinfoid);
        /// <summary>
        /// 添加考核内容
        /// </summary>
        /// <param name="khfwryid"></param>
        /// <param name="ljid"></param>
        void AddKaoHePath(int khfwryid, int ljid);
        /// <summary>
        /// 删除考核内容
        /// </summary>
        /// <param name="khfwryid"></param>
        /// <param name="ljid"></param>
        void DelKaoHePath(int khfwryid, int ljid);
        /// <summary>
        /// 添加被考核人员
        /// </summary>
        /// <param name="khfwryid"></param>
        /// <param name="userid"></param>
        void AddBeiKaoHeJiaoZhiGong(int khfwryid, string userid);
        /// <summary>
        /// 添加被考核科室
        /// </summary>
        /// <param name="khfwryid"></param>
        /// <param name="ksid"></param>
        void AddBeiKaoHeJiaoZhiGongKeShi(int khfwryid, int ksid);
        /// <summary>
        /// 删除被考核人员
        /// </summary>
        /// <param name="khfwryid"></param>
        /// <param name="userid"></param>
        void DelBeiKaoHeJiaoZhiGong(int khfwryid, string userid);
        /// <summary>
        /// 删除考核范围
        /// </summary>
        /// <param name="khfwryid"></param>
        void DelKaoHeFanWei(int khfwryid);


        #endregion
    }
}
